(a) Field of the Invention
The present invention relates to a communication system of parallel computers in a field of a multiprocessor system i.e., MIDI (multiple instruction stream multiple data stream) in which a plurality of programs operate in parallel and more particularly to a communication system in a network between parallel computers connected in N-dimensional torus connection (in which one end node is connected to the other end node) or N-dimensional matrix connection where a broadcast communication or a simultaneous communication for simultaneously transmitting the same content to many receiving nodes by designating the scope of the destination nodes.
(b) Related Art
A conventional communication system for performing a broadcast communication is shown in FIG. 1. This system transmits data by designating the coordinate ID of the destination nodes. A receiving process unit 1 receives data transmitted from other nodes and a destination detection unit 2 detects the destination coordinate of the data. A destination judgment unit 3 judges determines whether the destination coordinate designates the self (or local) node (same node) or other node (different node) and obtains maintains the data when the destination coordinate designates the self node. A transmission process unit 4 transmits the data to the other node if the destination coordinate is for the other node.
In a network of parallel computers connected as shown in two-dimension torus connection as shown in FIG. 2, when the data is transmitted from transmitting node N61 to receiving node N67, the transmission data designates the coordinate of receiving node N67 and the data transmitted from node N61 is transferred to node N67 by being relayed via nodes N62 and N63. Respective receiving nodes can only relay or receive the data. Therefore, as shown in FIG. 3, the present network performs a broadcast communication from node N76 to nodes N71, N72, N73, N75, N77, N79, N710 and N711 as follows. A process of (1) data transmission from node N76 to node N71, (2) data transmission from node N76 to node N72, (3) data transmission from node N76 to node N73, (4) data transmission from node N76 to node N75, (5) data transmission from node N76 to node N77, (6) data transmission from node N76 to node N79, (7) data transmission from node N76 to node N710 and (8) data transmission from node N76 to node N711 is repeated. Therefore, in the above recited method, node N76 transmits the data to respective nodes eight times.
In the prior art, where a communication is performed between parallel computers connected in a torus connection, the coordinates of the destination nodes are designated in the data and the transmitted data is merely relayed by the nodes on the way and is transmitted to the destination receiving node. Therefore, where a broadcast communication is performed, the transmission source node repeats the data transmission at times corresponding to the number of the receiving node. Where the same message is transmitted from a node to a plurality of other nodes, namely, where a broadcast communication is performed, a transmission is repeated so that the message is transmitted from one node to a plurality of other nodes one by one. Therefore, there is a problem that the broadcast communication cannot be performed with high speed and high efficiency.
Further, in the prior art, the control of the node for relaying the data which is performed by designating the coordinates, is complex.